There are a variety of different applications that can use configurable routing logic including, but not limited to, programmable integrated circuits, programmable logic devices (PLDs), and System on Chip (SoC) devices. Some SoC devices can include programmable logic that is similar to programmable logic provided by various PLDs. PLDs are a type of programmable integrated circuit (IC) that can be programmed to perform specified logic functions. One type of PLD, the field programmable gate array (FPGA), can include an array of programmable tiles. These programmable tiles comprise various types of logic blocks, which can include, for example, input/output blocks (IOBs), configurable logic blocks (CLBs), dedicated random access memory blocks (BRAM), multipliers, digital signal processing blocks (DSPs), processors, clock managers, delay locked loops (DLLs), bus or network interfaces such as Peripheral Component Interconnect (PCI), PCI Express (PCIe) and Ethernet, and so forth. Routing logic blocks provide connectivity between programmable tiles and their components. The routing logic can be configured to store data being transferred between tiles in one or more registers. As the size of the routing logic increases and certain routing architectures are used, the physical area consumed by routing logic, such as multiplexers and associated registers can become significant.
These and other problems can be problematic for IC design and their uses.